;---------------------------------------------------------------------------
; States that are always executed (use statedef -2)
;---------------------------------------------------------------------------

[Statedef -2]

;-----------------------------------------------------------------------
;DO NOT CHANGE ANYTHING ABOVE THIS LINE!!!
;-----------------------------------------------------------------------

[State -2, HP of each Mosquito]
type = VarSet
trigger1 = 1 ;DO NOT CHANGE
;total hp is 1000 hp
;when a mozzie is killed this goes down by the number below
;-----------------------------------------------------------------------
var(13) = 20 ;<-set this for hp of each mozzie. DO NOT SET TO 0 OR LESS!
;-----------------------------------------------------------------------
;if the number above is 20 means 1000/20 = 50 mozzies total

[State -2, N.o. of Mosquitoes to be on screen]
type = VarSet
trigger1 = 1 ;DO NOT CHANGE
;the number below determines the amount of mozzies that can be on
;the screen at one time.
;-----------------------------------------------------------------------
var(14) = 10 ;<-set this for number of mozzies. DO NOT SET TO 0 OR LESS!
            ;DO NOT SET TO OVER 10!!!
;-----------------------------------------------------------------------

[State -2, VarSet]
type = VarSet
;--------------------------------------------------------
triggerall = 1 ;Change this to 0 to enable cheap detector
;--------------------------------------------------------
trigger1 = var(3)>0
var(3) = 0

;-----------------------------------------------------------------------
;DO NOT CHANGE ANYTHING BELOW THIS LINE!!!
;-----------------------------------------------------------------------

[State -2, LifeSet]
type = LifeSet
trigger1 = life<var(13)
trigger1 = life>0
value = var(13)
ignorehitpause = 1

[State -2, 0]
type = ScreenBound
trigger1 = stateno = [230,232]
value = 0
ignorehitpause = 1

[State -2, PowerSet]
type = PowerSet
trigger1 = !numpartner
trigger1 = ceil(life/var(13))<var(14)
trigger1 = Power>((60000/var(14))*ceil(life/var(13)))
value = (60000/var(14))*ceil(life/var(13))
ignorehitpause = 1

[State -2, Helper]
type = Helper
triggerall = timemod = 10,0
trigger1 = numhelper(1)<ifelse(ceil(life/var(13))>=var(14), var(14), ceil(life/var(13)))
helpertype = normal
name = "moz1"
ID = 1
stateno = 1
pos = 0,ceil(pos Y)
postype = back
sprpriority = 5
facing = 1
keyctrl = 0
ownpal = 1
ignorehitpause = 1

[State -2, LifeAdd]
type = LifeAdd
trigger1 = Alive
value = var(1)
kill = 1
absolute = 0
ignorehitpause = 1

;make the blood!!!
[State -2, Blood1]
type = Helper
triggerall = NumHelper(508)<=0
trigger1 = var(4)!=0
trigger1 = playerId(var(4)), stateno = 506
trigger1 = fvar(13)<=0
helpertype = normal
name = "p1blood"
id = 508
stateno = 508
keyctrl = 0
ownpal = 1
supermovetime = 1

[State -2, Blood2]
type = Helper
triggerall = NumHelper(509)<=0
trigger1 = var(5)!=0
trigger1 = playerId(var(5)), stateno = 506
trigger1 = fvar(14)<=0
helpertype = normal
name = "p2blood"
id = 509
stateno = 508
keyctrl = 0
ownpal = 1
supermovetime = 1

;test for hit
[State 1, VarSet]
type = VarSet
triggerall = alive
trigger1 = var(1)<0
trigger1 = var(2)<=0
trigger2 = stateno = [230,231]
var(2) = 20
ignorehitpause = 1

[State 1, VarSet]
type = VarAdd
triggerall = alive
trigger1 = var(2)>0
var(2) = -1
ignorehitpause = 1

[State 1, VarSet]
type = VarSet
triggerall = alive
trigger1 = 1
var(1) = 0
ignorehitpause = 1

;supermystery cheapie killer
;---------------------------
[State -2, Gogeta Killer]
type = Helper
trigger1 = playerID(var(4)), authorname = "supermystery"
trigger2 = var(5) != 0
trigger2 = playerID(var(5)), authorname = "supermystery"
triggerall = numhelper(666)<=1
triggerall = !WIN
ID = 666
pos = 0, -120
stateno = 666
helpertype = normal
name = "Gogeta killer"
keyctrl = 0
ownpal = 1
supermovetime = 1


;---------------------------------------------------------------------------
; States that are executed when in self's state file (use statedef -3)
;---------------------------------------------------------------------------

[Statedef -3]

[State -3, PosSet]
type = PosSet
trigger1 = pos Y>=-10
trigger1 = alive
y = -10
ignorehitpause = 1

[State -3, ChangeState]
type = ChangeState
trigger1 = !alive
trigger1 = stateno != 5150
value = 5150
ctrl = 0
ignorehitpause = 1

;This controller plays a sound everytime the player lands from a jump, or
;from a back-dash.
[State -3, Landing Sound]
type = PlaySnd
triggerall = Time = 1
trigger1 = stateno = 52 ;Jump land
trigger2 = stateno = 106 ;Run-back land
value = 40, 0

[State -3, fvar(3)] ;normal enemy1 x
type = VarSet
trigger1 = var(4) != 0
trigger1 = var(10) <=0
fvar(7) = (playerID(var(4)),pos x) + playerID(var(4)),Const(size.mid.pos.x)

[State -3, fvar(4)] ;normal enemy1 y
type = VarSet
trigger1 = var(4) != 0
trigger1 = var(10) <=0
trigger1 = P2name != "Biomenace Skullman"
fvar(8) = (playerID(var(4)),pos y) + (playerID(var(4)),Const(size.mid.pos.y)/ifelse((playerID(var(4)), statetype=C),2,1))

[State -3, fvar(4)] ;P2skullman y
type = VarSet
trigger1 = var(4) != 0
trigger1 = var(10) <=0
trigger1 = P2name = "Biomenace Skullman"
fvar(8) = (playerID(var(4)),pos y)-20

[State -3, fvar(3)] ;irregular enemy1 x
type = VarSet
trigger1 = var(4) != 0
trigger1 = var(10) >0
fvar(7) = (playerID(var(4)),pos x)

[State -3, fvar(4)] ;irregular enemy1 y
type = VarSet
trigger1 = var(4) != 0
trigger1 = var(10) >0
fvar(8) = (playerID(var(4)),pos y)

[State -3, fvar(5)] ;normal enemy2 x
type = VarSet
trigger1 = var(5) != 0
trigger1 = var(11) <=0
fvar(9) = (playerID(var(5)),pos x) + playerID(var(5)),Const(size.mid.pos.x)

[State -3, fvar(6)] ;normal enemy2 y
type = VarSet
trigger1 = var(5) != 0
trigger1 = var(11) <=0
trigger1 = P4name != "Biomenace Skullman"
fvar(10) = (playerID(var(5)),pos y)+ (playerID(var(5)),Const(size.mid.pos.y)/ifelse((playerID(var(5)), statetype=C),2,1))

[State -3, fvar(4)] ;P4skullman y
type = VarSet
trigger1 = var(5) != 0
trigger1 = var(10) <=0
trigger1 = P4name = "Biomenace Skullman"
fvar(10) = (playerID(var(5)),pos y)-20

[State -3, fvar(5)] ;irregular enemy2 x
type = VarSet
trigger1 = var(5) != 0
trigger1 = var(11) >0
fvar(9) = (playerID(var(5)),pos x)

[State -3, fvar(6)] ;irregular enemy2 y
type = VarSet
trigger1 = var(5) != 0
trigger1 = var(11) >0
fvar(10) = (playerID(var(5)),pos y)

[State -3, fvar(6)];enemy 1 hp
type = VarSet
trigger1 = var(4) != 0
fvar(13) = playerID(var(4)), Life

[State -3, fvar(6)];enemy 2 hp
type = VarSet
trigger1 = var(5) != 0
fvar(14) = playerID(var(5)), Life

[State -3, fvar(15)] ;enemy 1 nearness
type = VarSet
trigger1 = var(5) != 0
fvar(15) = ifelse(Exp(0.5*ln((fvar(7) * fvar(7))+(fvar(8) * fvar(8))))>=(Exp(0.5*ln((fvar(9) * fvar(9))+(fvar(10) * fvar(10))))), 0, 1)

[State -3, fvar(16)] ; nearest enemy x
type = VarSet
trigger1 = var(5) !=0
trigger1 = fvar(14)>0
trigger1 = fvar(13)>0
fvar(16) = ifelse(fvar(15)<=0, fvar(7), fvar(9))

[State -3, fvar(16)] ; nearest enemy y
type = VarSet
trigger1 = var(5) !=0
trigger1 = fvar(14)>0
trigger1 = fvar(13)>0
fvar(17) = ifelse(fvar(15)<=0, fvar(8), fvar(10))

[State -3, fvar(16)] ; nearest enemy x
type = VarSet
trigger1 = var(5) <=0
trigger2 = fvar(14)<=0
fvar(16) = fvar(7)

[State -3, fvar(16)] ; nearest enemy y
type = VarSet
trigger1 = var(5) <=0
trigger2 = fvar(14)<=0
fvar(17) = fvar(8)

[State -3, fvar(16)] ; nearest enemy x
type = VarSet
trigger1 = var(5) !=0
trigger1 = fvar(13)<=0
fvar(16) = fvar(9)

[State -3, fvar(16)] ; nearest enemy y
type = VarSet
trigger1 = var(5) !=0
trigger1 = fvar(13)<=0
fvar(17) = fvar(10)

;-------------- Generated by Fighter Factory -------------

;--------------------- Variable List ----------------------

; Var(1) - StateDef 1, -2
; Var(2) - StateDef 1, -2
; Var(3) - StateDef 1, 5900, -2
; Var(4) - StateDef 1, 5900
; Var(5) - StateDef 1, 8, 211, 221, 222, 223, 5900
; Var(6) - StateDef 4, 221
; Var(7) - StateDef 500, 501
; Var(9) - StateDef 5900
; Var(10) - StateDef 5900
; Var(11) - StateDef 5900
; Var(12) - StateDef 5900
; Var(13) - StateDef -2
; Var(14) - StateDef -2

;--------------------- Float Variable List ----------------------

; fVar(1) - StateDef 233
; fVar(2) - StateDef 1
; fVar(3) - StateDef 1
; fVar(4) - StateDef 210
; fVar(5) - StateDef 210
; fVar(6) - StateDef 210, 220
; fVar(7) - StateDef -3
; fVar(8) - StateDef -3
; fVar(9) - StateDef -3
; fVar(10) - StateDef -3
; fVar(13) - StateDef -3
; fVar(14) - StateDef -3
; fVar(15) - StateDef -3
; fVar(16) - StateDef -3
; fVar(17) - StateDef -3
